User checkpoints, with respect to virtual machines, allow users to create saved states for a virtual machine at any time to mitigate critical failures of the virtual machine on account of any changes to the virtual machine. Further, the presence of these checkpoints create a chain of tracking (or differencing) disks, which capture the successive saved states of the virtual machine.